TP - Le gestionnaire de paquet et les archives
Gestionnaire de paquet
2.1 Suite à l'installation de votre système, vous voulez vous assurer qu'il est à jour.
- Lancez la commande
apt update
. Quels dépôts sont contactés pendant cette opération ? - À l'aide de
apt list --upgradable
, identifiez sifirefox
,libreoffice
,linux-firmware
etapt
peuvent être mis à jour - et identifiez l'ancienne version et la nouvelle version. - Lancez la mise à jour avec
apt full-upgrade
. Pendant le déroulement de la mise à jour, identifiez les trois parties clefs du déroulement : liste des tâches et validation par l'utilisateur, téléchargement des paquets, et installation/configuration.
- Lancez la commande
2.2 - Cherchez avec
apt search
si le programmesl
est disponible. (Utilisergrep
pour vous simplifiez la tâche). À quoi sert ce programme ? Quelles sont ses dépendances ? (Vous pourrez vous aider deapt show
). Finalement, installez ce programme en prêtant attention aux autres paquets qui seront installés en même temps.2.3 - Même chose pour le programme
lolcat
2.4 - Même chose pour le programme
nyancat
- mais cette fois, trouvez un moyen de télécharger le.deb
directement depuis le site de debian qui référence les paquets, puis installez ce.deb
avecdpkg -i
. (Pour ce faire, taper par exemplenyancat package debian
dans un moteur de recherche. Une fois arrivé sur la bonne page, vous trouverez une section 'Download' en bas. Parmis les architectures proposées, prendreamd64
.)2.5 - Parfois, il est nécessaire d'ajouter un nouveau dépôt pour installer un programme (parce qu'il n'est pas disponible, ou bien parce qu'il n'est pas entièrement à jour dans la distribution utilisée). Ici, nous prendrons l'exemple de
mongodb
(un logiciel pour gérer des bases NoSQL) dont la version 7 n'est disponible que via un dépôt précis maintenu par les auteurs de mongodb.- Regarder avec
apt search
etapt show
(etgrep
!) si le paquetmongodb
est disponible et quelle est la version installable. - Suivez les instruction officielles d'installation ici: https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-debian/#install-mongodb-community-edition
- Ajouter un nouveau fichier
mongodb.list
dans/etc/apt/sources.list.d
avec une unique ligne :deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bullseye/mongodb-org/7.0 main
- Faire
apt update
. Que se passe-t-il ? Quels serveurs votre machine a-t-elle essayer de contacter ? Pourquoi cela produit-il une erreur ? - Ajoutez la clef d'authentification des paquets avec :
sudo apt install -y gnupg curl
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
- Refaire
apt update
. Est-ce que ça fonctionne ? - Regarder avec
apt search
etapt show
(etgrep
!) si le paquetmongodb-org
est disponible et quelle est la version installable. - Installer le paquet. Depuis où a-t-il été téléchargé ?
- Désinstallez ce paquet (en purgeant les données / fichiers) et supprimez le
mongodb.list
puis refaites unapt update
pour remettre à plat la liste des paquets disponibles.
- Regarder avec
2.6 - Regardez le contenu de
/var/cache/apt/archives
. À quoi ces fichiers correspondent-ils ? Trouvez deux méthodes pour nettoyer ces fichiers, l'une "brutale" avecrm
, et l'autre "propre" avecapt
.2.7 - Identifiez l'utilité de la commande
apt moo
Gestion des archives
- 2.8 - Créez une archive (non-compressée !) de votre répertoire personnel avec
tar
. - 2.9 - En utilisant
gzip
, produisez une version compressée de l'archive de la question précédente - 2.10 - Recommencez mais en produisant une version compressée directement
- 2.11 - En fouillant dans les options de
tar
, trouvez un moyen de lister le contenu de l'archive - 2.12 - Créez un dossier
test_extract
dans/tmp/
, déplacez l'archive dans ce dossier puis décompressez-là dedans. - 2.13 - (Avancé) En reprenant le
.deb
du programmenyancat
de la question 1.14, utilisezar
ettar
pour décompresser le.deb
jusqu'à trouver le fichier de controle debian, ainsi que l'executable contenu dans le paquet. - 2.14 - (Avancé) Trouvez un ou des fichiers
.gz
dans/var/log
(ou ailleurs ?) et cherchez comment combinercat
etgzip
pour lire le contenu de ce fichier sans créer de nouveau fichier.
Exercices avancés
- Utilisez
aptitude why
pour trouver la raison pour laquelle le paquetlibxcomposite1
est installé - Utilisez
apt-rdepends
pour afficher la liste des dépendances delibreoffice
. - Investiguez les options de
apt-rdepends
et du programmedot
pour générer un rendu en PNG du graphe de dépendance defirefox
. - Trouvez où télécharger le
.deb
du paquetnyancat
depuisftp.debian.org
- (Très avancé) Renseignez-vous sur
equivs
et créez un package virtuellolstuff
qui dépend desl
,lolcat
etnyancat